package com.baidu.aip.sample;

import java.io.IOException;
import java.util.HashMap;

import org.json.JSONObject;

import com.baidu.aip.speech.AipSpeech;
import com.baidu.aip.speech.TtsResponse;
import com.baidu.aip.util.Util;

public class AipSpeechSample {

	// 设置APPID/AK/SK
	public static final String APP_ID = "11130329";
	public static final String API_KEY = "l2QlKVCOWHoKnre8UHQEeqR4";
	public static final String SECRET_KEY = "uefa2aCm0Ejs05dBDwWZkQkS4TxoqWw7";

	public static void main(String[] args) {
		// 初始化一个AipSpeech
		AipSpeech client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY);

		// 可选：设置网络连接参数
		client.setConnectionTimeoutInMillis(2000);
		client.setSocketTimeoutInMillis(60000);

		// 可选：设置代理服务器地址, http和socket二选一，或者均不设置
//		client.setHttpProxy("proxy_host", proxy_port); // 设置http代理
//		client.setSocketProxy("proxy_host", proxy_port); // 设置socket代理

		// 可选：设置log4j日志输出格式，若不设置，则使用默认配置
		// 也可以直接通过jvm启动参数设置此环境变量
//		System.setProperty("aip.log4j.conf", "path/to/your/log4j.properties");
		// 设置可选参数
		HashMap<String, Object> options = new HashMap<String, Object>();
	    options.put("spd", "5");
	    options.put("pit", "5");
	    options.put("per", "1");
		// 调用接口
		TtsResponse res = client.synthesis("目前本SDK的功能同REST API，需要联网调用http接口 。"
				+ "REST API 仅支持最多512字（1024 字节)的音频合成，合成的文件格式为mp3。"
				+ "没有其他额外功能。"
				+ " 如果需要使用离线合成等其它功能，请使用Android或者iOS 合成 SDK", "zh", 1, options);
		byte[] data = res.getData();
		JSONObject res1 = res.getResult();
		if (data != null) {
			try {
				Util.writeBytesToFileSystem(data, "e:\\output.mp3");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		if (res1 != null) {
			System.out.println(res1.toString(2));
		}

	}

}
